Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Автоматизовані Системи Управління

Інформація про роботу

Рік:
2009
Тип роботи:
Розрахункова робота
Предмет:
Надійність систем
Група:
ІУС-11м

Частина тексту файла

Міністерство освіти і науки України Національний університет «Львівська політехнвка» Кафедра АСУ Розрахункова робота з надійності систем Виконав: Ст. гр. ІУС-11м Перевірила: Кустра Н.О. Львів 2009 Завдання:   - інтенсивність відмови системи за заданого стануготовності к, де 0<k<a1 та за умови, що ймовірність безвідмовної роботивихідних елементів описуєится екпоненційним законом, обчислюється за формулою: , де  - коефіцієнт готовності системи, імовірність того, що працюють не менше як k вихідних елементів, де 0<k<a1 та за умови, що ймовірність безвідмовної роботивихідних елементів описуєится екпоненційним законом, обчислюється за формулою:   - частота відмови системи за заданого стану готовності к, де 0<k<a1 та за умови, що ймовірність безвідмовної роботивихідних елементів описуєится екпоненційним законом,  - дорівнює похідній від коефіцієту готовності, взятий з протилежним знаком:  Звідси:  Текст програми, яка обчислює : package program.core; import java.util.ArrayList; import java.util.List; public class SystemReliability { private double lam0 = 0; private double lam1 = 0; public SystemReliability(double lam0, double lam1) { this.lam0 = lam0; this.lam1 = lam1; } public double getP0(int t) { double p0 = Math.exp((-1) * lam0 * t); return p0; } public double getP1(int t) { double p1 = Math.exp((-1) * lam1 * t); return p1; } public double getKh1(int k, int a1, int step) { double kh1 = 0; double p0 = 0; double p1 = 0; double q1 = 0; double c = 0; p0 = getP0(step); for (int x1 = k; x1 <= a1; x1++) { c = (faktorial(a1) / (faktorial(x1) * faktorial(a1 - x1))); p1 = Math.pow(getP1(step), x1); q1 = Math.pow((1 - getP1(step)), (a1 - x1)); kh1 += c * p1 * q1; } kh1 *= p0; return kh1; } public double getA(int k, int a1, int step) { double c = 0, p1 = 0, q1 = 0, c1 = 0; double a = 0; double firstSum = 0, secondSum = 0; for (int x1 = k; x1 <= a1; x1++) { for (int j = 0; j <= (a1 - x1); j++) { c = faktorial(a1 - x1) / (faktorial(j) * faktorial(a1 - x1 - j)); p1 = Math.pow(-1, j) * (lam0 + lam1 * x1 + lam1 * j); q1 = Math.exp((-1) * (lam0 + lam1 * x1 + lam1 * j) * step); secondSum += c * p1 * q1; } c1 = faktorial(a1) / (faktorial(x1) * faktorial(a1 - x1)); c1 *= secondSum; firstSum += c1; secondSum = 0; } a = firstSum; return a; } public double getLam(int k, int a1, int step) { double lam = 0; lam = getA(k, a1, step)/getKh1(k, a1, step); return lam; } public List<Double> getLam(int k, int a1, int step, int t) { List<Double> lams = new ArrayList<Double>(); for (int i = 0; i <= t; i += step) { lams.add(this.getLam(k, a1, i)); } return lams; } private int faktorial(int k) { int rez = 1; for (int i = 1; i <= k; i++) { rez *= i; } return rez; } } package program; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import program.core.SystemReliability; public class Application { private static double lam0 = 0.0001; private static double lam1 = 0.001; private static int k = 6; private static int t = 20000; private static int a1 = 7; /** * @param args */ public static void main(String[] args) { SystemReliability reliability = new SystemReliability(lam0, lam1); try { File file = new File("data.txt"); FileWriter writer = new FileWriter(file); BufferedWriter bufferedWriter = new BufferedWriter(writer); for (int i = 0; i <= t; i += 100) { bufferedWriter.write(i + "\t\t\t" + reliability.getLam(k, a1, i)); bufferedWriter.newLine(); } bufferedWriter.close(); writer.close(); } catch (IOException e) { e.printStackTrace(); } } } Графік залежності  від t:
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини